Package com.gui

Source Code of com.gui.CameraMenu

package com.gui;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import com.fish.World;
import com.math.Point2D;

/**
* @author Dror
*
* email: gumjum.o.o@gmail.com
*
*/

public class CameraMenu extends Menu implements ActionListener,MouseListener,ChangeListener, PropertyChangeListener{

 
  /**
   *
   */
  private static final long serialVersionUID = 6703897151762757224L;
 
  JLabel statusLabel;
  JButton resetButton;
  JButton backButton;
  Joystick joystick;
  JSlider slider;
 
  public CameraMenu() {
    super();

    statusLabel = new JLabel();
    statusLabel.setFocusable(false);   
    statusLabel.setBackground(lvl2);

    joystick = new Joystick();
    joystick.normalize();
    joystick.setBackground(bg12);
    joystick.setFocusable(false);
    joystick.addPropertyChangeListener("joystick", this);
   
    slider = new JSlider(JSlider.VERTICAL,-100, 100,0);
    slider.setValue(0);
    slider.addChangeListener(this);
    slider.setMaximumSize(new Dimension(100,100));
    slider.setBackground(bg12);
    slider.setFocusable(false);
   
    resetButton = new JButton("Reset");
    resetButton.setFocusable(false);   
    resetButton.setBackground(lvl2);   
    resetButton.addActionListener(this);
   
    backButton = new JButton("back");
    backButton.setFocusable(false);   
    backButton.setBackground(lvl1);   
    backButton.addActionListener(this);
   
    this.setFocusable(false);  
    this.setBackground(bg12);
   
    GroupLayout layout = new GroupLayout(this);
    this.setLayout(layout);
    layout.setAutoCreateGaps(true);
    layout.setAutoCreateContainerGaps(true);
   
   
    layout.setVerticalGroup(layout.createParallelGroup()
        .addGroup(layout.createSequentialGroup()
            .addComponent(backButton))
        .addGroup(layout.createSequentialGroup()
            .addComponent(resetButton))
        .addGroup(layout.createSequentialGroup()
            .addComponent(joystick))
        .addGroup(layout.createSequentialGroup()
            .addComponent(slider))
            .addGroup(layout.createParallelGroup()));

    layout.linkSize(resetButton,joystick);
   
    layout.setHorizontalGroup(layout.createSequentialGroup()
        .addGroup(layout.createParallelGroup()
            .addComponent(backButton))
        .addGroup(layout.createParallelGroup()
            .addComponent(resetButton))
        .addGroup(layout.createParallelGroup()
            .addComponent(joystick))
        .addGroup(layout.createParallelGroup()
            .addComponent(slider))
            .addGroup(layout.createSequentialGroup()));

  }

  public void paintComponent(Graphics g){
    super.paintComponent(g);
  }
 
  public void actionPerformed(ActionEvent e) {
    if(e.getSource() == resetButton){
      World.cam.reset();
    }
    else if(e.getSource() == backButton){
      mp.layout.replace(mp.curMenu, mp.mainMenu);
      mp.curMenu = mp.mainMenu;
    }
   
  }

  @Override
  public void mouseClicked(MouseEvent e) {
  }

  @Override
  public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void mouseExited(MouseEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void mousePressed(MouseEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void mouseReleased(MouseEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void stateChanged(ChangeEvent e) {
    float v = (slider.getValue()/20f);
    slider.setValue(0);
    World.cam.setLinVel(v);
  }

  public void propertyChange(PropertyChangeEvent e) {
    Point2D p = (Point2D)e.getNewValue();
    World.cam.setVel(p.x/10f, p.y/10f);
  }



}
TOP

Related Classes of com.gui.CameraMenu

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.